Conversation
|
In the current implementation, if the same service is imported by multiple Remote Service Admins (RSA), I will remove the imported service with the lower ranking. Is this redundant? Because the ranking is a property of the service, and the service consumer can get the service with the higher ranking as needed. |
I have revised the code implementation, retaining all the imported services. And the service ranking of imported services is set according to the configuration property |
The PR is used to resolve the issue #776. However, there are some adjustments to the implementation.
I have defined a configuration property
CELIX_RSA_IMPORTED_SERVICE_RANKING_OFFSETS. This property is used to specify the offset values for the imported service ranking. The value of this property is a comma-separated list of<config type>=<ranking offset>. It allows user to configure the ranking of imported services based on the configuration type of service. For example, if the user wants to set a higher ranking for imported services with the configuration type "celix.remote.admin.shm" than the imported services with the configuration type "celix.remote.admin.http", and the imported services rankings are lower than the local services(The default ranking of local service is 0.), you can set the property as follows:"celix.remote.admin.shm=-1,celix.remote.admin.http=-2".